package ar.uba.is2.common.mensaje.canal;

import ar.uba.is2.common.mensaje.Componente;
import ar.uba.is2.common.mensaje.Mensaje;
import ar.uba.is2.common.mensaje.Receptor;
import ar.uba.is2.common.mensaje.filtro.Filtro;

public interface Canal {

	void enviarMensaje(Mensaje mensaje);
	
	void suscribirEntrada(Componente destino, Receptor receptor);
	
	void suscribirSalida(Componente destino);
	
	int getTamanioMaximoMensaje();
	
	void suscribirFiltro(Filtro filtro);
}
